//
//  Execption.cs
//
//  Author:
//       Philipp Schröck <philsch@hotmail.de>
//
//  Copyright (c) 2013 Philipp Schröck
//
//  This program is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public License
//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
using System;
using libcharakter.ausrüstung;
using libcharakter.ausrüstung.Waffen.Fernkampf;

namespace libcharakter
{
    public class OdtkExecption : Exception
    {
        public OdtkExecption(string message) : base(message)
        {
            Console.WriteLine("[Execption] " + message);
        }
    }
    public class OdtkNotCompatible : OdtkExecption
    {
        public OdtkNotCompatible(Attribute att)
            : base("Attribute " + att.Name + " is not compatible")
        {
        }
        public OdtkNotCompatible(Ausruestung aus)
            : base("Ausrüstung " + aus.Name + " is not compatible")
        {
        }
    }
    public class OdtkPatzer : OdtkExecption
    {
        public OdtkPatzer() : base("Patzer")
        {
        }
    }
    public class OdtkFernkampfNotInRanger : OdtkExecption
    {
        public OdtkFernkampfNotInRanger(FernkampfWaffe w)
            : base(w.Name + " not in Range")
        {
        }
    }
    public class OdtkExitus : OdtkExecption
    {
        public OdtkExitus(Charakter w)
            : base(w.Name)
        {
        }
    }
}

